<?xml version="1.0"?>
<component name="org.nuxeo.apidoc.lifecycle.contrib.override">

  <require>org.nuxeo.apidoc.lifecycle.contrib</require>

  <extension point="lifecycle" target="org.nuxeo.ecm.core.lifecycle.LifeCycleService">

    <lifecycle defaultInitial="project" name="explorer_default">
      <transitions>
        <transition destinationState="approved" name="approve">
          <description>Approve the content</description>
        </transition>
        <transition destinationState="obsolete" name="obsolete">
          <description>Content becomes obsolete</description>
        </transition>
        <transition destinationState="deleted" name="delete">
          <description>Move document to trash (temporary delete)</description>
        </transition>
        <transition destinationState="project" name="undelete">
          <description>Recover the document from trash</description>
        </transition>
        <transition destinationState="project" name="backToProject">
          <description>Recover the document from trash</description>
        </transition>
      </transitions>
      <states>
        <state description="Default state" initial="true" name="project">
          <transitions>
            <transition>approve</transition>
            <transition>obsolete</transition>
            <transition>delete</transition>
          </transitions>
        </state>
        <state description="Content has been validated" name="approved">
          <transitions>
            <transition>delete</transition>
            <transition>backToProject</transition>
          </transitions>
        </state>
        <state description="Content is obsolete" name="obsolete">
          <transitions>
            <transition>delete</transition>
            <transition>backToProject</transition>
          </transitions>
        </state>
        <state description="Document is deleted" name="deleted">
          <transitions>
            <transition>undelete</transition>
          </transitions>
        </state>
      </states>
    </lifecycle>
  </extension>

</component>
